package com.lile.date;

import java.util.Calendar;
import java.util.Scanner;

public class CalendarDemo {

	public static void main(String[] args) {
		// calendarTest();
		// calendarTest1();
		calendarTest2();
	}

	/*
	 * Calendar:把时间分割成了一个个的年，月，日，时，分，秒等。如果我要得到一个完整的年月日时分秒，需要我们自己拼数据。
	 * 
	 * 日历对象 --- 年，月，日，时，分，秒
	 * 
	 * public int get(int field):返回给定日历字段的值。
	 */
	public static void calendarTest() {
		// 创建对象
		// 日历字段已由当前日期和时间初始化：
		Calendar rightNow = Calendar.getInstance(); // 多态

		// 获取年
		int year = rightNow.get(Calendar.YEAR);
		System.out.println(year);
		// 获取月
		int month = rightNow.get(Calendar.MONTH);
		System.out.println(month + 1);
		// 获取日
		int date = rightNow.get(Calendar.DATE);
		System.out.println(date);
		// 获取时
		int hour = rightNow.get(Calendar.HOUR);
		System.out.println(hour);
		// 获取分
		int minute = rightNow.get(Calendar.MINUTE);
		System.out.println(minute);
		// 获取秒
		int second = rightNow.get(Calendar.SECOND);
		System.out.println(second);
	}

	/*
	 * public void add(int field,int amount):根据给定的日历自动和值，改变时间 public final void
	 * set(int year,int month,int date):设置年月日
	 */
	public static void calendarTest1() {
		// 获取日历类对象
		Calendar c = Calendar.getInstance();
		System.out.println(c.get(Calendar.YEAR) + "---" + (c.get(Calendar.MONTH) + 1) + "---" + c.get(Calendar.DATE));
		c.add(Calendar.YEAR, -3);
		c.add(Calendar.MONTH, 2);
		c.add(Calendar.DATE, -12);
		System.out.println(c.get(Calendar.YEAR) + "---" + (c.get(Calendar.MONTH) + 1) + "---" + c.get(Calendar.DATE));

		// 重写给c对象赋值
		c.set(2012, 3, 4);
		System.out.println(c.get(Calendar.YEAR) + "---" + (c.get(Calendar.MONTH) + 1) + "---" + c.get(Calendar.DATE));
	}

	public static void calendarTest2() {
		// 获取任意一年的二月有多少天?
		Calendar c = Calendar.getInstance();

		// 设置年月日
		Scanner sc = new Scanner(System.in);
		System.out.println("请输入你要获取哪一年的2月份：");
		int year = sc.nextInt();

		c.set(year, 2, 1); // 任意一年的3月1日
		c.add(Calendar.DATE, -1); // 任意一年的2月最后一天

		System.out.println(c.get(Calendar.DATE));
	}

}
